<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Shellskript</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Shellskript"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Shellskript rootpage-Shellskript skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Shellskript</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><table class="infobox float-right toptextcells hintergrundfarbe1" id="vorlage-infobox-dateiformatShell-Skript" summary="Infobox Dateiformat" style="width:23em; margin: 0 0 1em 1em; border:solid 1px #BBBBBB; font-size: 90%; padding:2px;">
<tbody><tr>
<th colspan="2">Shell-Skript
</th></tr>
<tr>
<td colspan="2" style="text-align:center;"><span typeof="mw:File"></span>
</td></tr>
<tr>
<td colspan="2" style="text-align:center;"><span typeof="mw:File"></span>
<p><span style="display:none"></span>
<br><span style="font-size:smaller;">Shell-Skript <code>.bash_profile</code> im <a href="Texteditor" title="Texteditor">Texteditor</a> <a href="Ed_(Texteditor)" title="Ed (Texteditor)">ed</a></span>
</p>
</td></tr>
<tr>
<td style="white-space: nowrap;"><a href="Dateinamenserweiterung" title="Dateinamenserweiterung">Dateiendung</a>:
</td>
<td><code style="margin:0.2em 0; padding:0;">.sh</code>
</td></tr>
<tr>
<td style="white-space:nowrap;"><a href="Internet_Media_Type" title="Internet Media Type">MIME-Type</a>:
</td>
<td><code style="margin:0.2em 0; padding:0;">text/x-shellscript</code><sup id="cite_ref-DebianWiki-ShellScript_1-0" class="reference"><a href="#cite_note-DebianWiki-ShellScript-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</td></tr>
<tr>
<td style="white-space: nowrap;">Erstveröffentlichung:
</td>
<td>mit <a href="Unix" title="Unix">UNIX</a>
</td></tr>
<tr>
<td style="white-space: nowrap;">Art:
</td>
<td><a href="Skriptsprache" title="Skriptsprache">Skriptsprache</a>
</td></tr>
<tr>
<td style="white-space: nowrap;">Enthalten in:
</td>
<td><a href="Unix-Shell" title="Unix-Shell">Unix-Shell</a>
</td></tr>
<tr>
<td style="white-space: nowrap;">Erweitert von:
</td>
<td>div. Unix-Shells, u. a. <a href="Bash_(Shell)" title="Bash (Shell)">Bash</a>, <a href="Z_shell" title="Z shell">Z shell</a> u.v.m.
</td></tr>
<tr>
<td style="white-space: nowrap;vertical-align:top;"><a href="Standard" title="Standard">Standard(s)</a>:
</td>
<td><a href="Portable_Operating_System_Interface" class="mw-redirect" title="Portable Operating System Interface">POSIX</a>
</td></tr>
<tr>
<td colspan="2" style="display:none">
<p>
</p><p><br>Shell-Skript <code>.bash_profile</code> im <a href="Texteditor" title="Texteditor">Texteditor</a> <a href="Ed_(Texteditor)" title="Ed (Texteditor)">ed</a>
</p><p>
</p>
</td></tr>
<tr>
<td colspan="2">
</td></tr></tbody></table>
<p>Ein <b>Shellskript</b> oder <b>Shell-Skript</b> ist ein <a href="Computerprogramm" title="Computerprogramm">Computerprogramm</a>, das von einer <a href="Shell_(Betriebssystem)" title="Shell (Betriebssystem)">Shell</a> interpretiert und ausgeführt wird. Es ist letztlich eine ausführbare Textdatei, in der all jene <a href="Anweisung_(Programmierung)" title="Anweisung (Programmierung)">Anweisungen</a> verwendet werden können, die ein <a href="Benutzer" title="Benutzer">Benutzer</a> auch in der <a href="Befehlszeile" class="mw-redirect" title="Befehlszeile">Befehlszeile</a> der Shell nutzen kann.<sup id="cite_ref-DebianWiki-ShellScript_1-1" class="reference"><a href="#cite_note-DebianWiki-ShellScript-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p><p>Die Shell selbst ist auch eine Programmiersprache, wobei in verschiedenen Shells unterschiedliche Skriptsprachen verwendet werden.
</p>
<div class="Vorlage_Zitat" style="margin:1em 40px;">
<div style="margin:1em 0;"><blockquote lang="en" style="margin:0;">
<p>“The shell is actually a programming language: it has variables, loops, decision-making, and so on.”
</p>
</blockquote>
<blockquote style="margin:.5em 0 0 0;" lang="de-Latn">
<p>„Die Shell ist eigentlich eine Programmiersprache: es gibt Variablen, Schleifen, Verzweigungen und so weiter.“
</p>
</blockquote></div><div class="cite" style="margin:-1em 0 1em 1em;">– <cite style="font-style:normal"><a href="Brian_W._Kernighan" title="Brian W. Kernighan">Brian W. Kernighan</a></cite><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup></div></div>
<p>Der Begriff <i>Shellskript</i> wird überwiegend für <a href="Unix-Shell" title="Unix-Shell">Unix-Shell</a>-Skripte verwendet und bezieht sich daher vorwiegend auf <a href="Unixoides_System" title="Unixoides System">unixähnliche Systeme</a>, obwohl auch andere Betriebssysteme und Shells ähnliche Skripte nutzen, aber anders bezeichnen.
</p>
<div class="mw-heading mw-heading2"><h2 id="Ursprung">Ursprung</h2></div>
<p>Shellskripte gehen auf das 1965 geschriebene Programm <samp>RUNCOM</samp> zurück, das von <a href="Louis_Pouzin" title="Louis Pouzin">Louis Pouzin</a> für das Betriebssystem <a href="Multics" title="Multics">Multics</a> entwickelt wurde. Von ihm stammt auch der Begriff „Shell“, wobei die Weiterentwicklung der Multics-Shell die Fähigkeiten von <samp>RUNCOM</samp> integrierte.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p><p>Die Entwickler von <a href="Unix" title="Unix">Unix</a> nahmen sich Multics als Vorlage, sodass die ursprüngliche Unix-Shell stark von der Multics-Shell inspiriert war. Auch die Shells späterer Betriebssysteme haben das Konzept der Shellskripte übernommen. Bei <a href="Kommandozeileninterpreter" title="Kommandozeileninterpreter">Kommandozeileninterpretern</a> von <a href="Disk_Operating_System" title="Disk Operating System">DOS</a>, technisch gesehen ebenfalls Shells (z. B. <a href="COMMAND.COM" title="COMMAND.COM">COMMAND.COM</a> oder <a href="4DOS" title="4DOS">4DOS</a>), werden Skripte als <a href="Stapelverarbeitungsdatei" title="Stapelverarbeitungsdatei">Stapelverarbeitungsdateien</a> oder „Batch-Dateien“ (von <span style="font-style:normal;font-weight:normal"><a href="Englische_Sprache" title="Englische Sprache">englisch</a></span> <span lang="en-Latn" style="font-style:italic">batch jobs</span> für <a href="Stapelverarbeitung" title="Stapelverarbeitung">Stapelverarbeitung</a>) bezeichnet. Bei der <a href="PowerShell" title="PowerShell">PowerShell</a> von <a href="Microsoft" title="Microsoft">Microsoft</a> heißen sie „PowerShell-Skripte“.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Syntaxen_verschiedener_Unix-Shells">Syntaxen verschiedener Unix-Shells</h2></div>
<p>Da unterschiedliche Unix-Shells, wie z. B. die <a href="Bash_(Shell)" title="Bash (Shell)">Bash</a> oder die <a href="Unix-Shell#Die_C-Shell" title="Unix-Shell">C-Shell</a>, nicht die gleiche <a href="Syntax" title="Syntax">Syntax</a> bzw. Skriptsprache nutzen, ist ein Shellskript in der Regel nur für eine spezifische Shell nutzbar, sofern die eingesetzte Shell nicht die Syntax der anderen Shell versteht.
</p><p>Anders ist dies bei der in <a href="POSIX" title="POSIX">POSIX</a> spezifizierten Syntax. Diese Spezifikation ermöglicht den systemübergreifenden Einsatz eines Skripts und die <a href="Interoperabilit%C3%A4t" title="Interoperabilität">Interoperabilität</a> mehrerer Systeme. Freilich muss dabei eine POSIX unterstützende Shell eingesetzt werden. Die erste POSIX-Spezifikation fußt auf der <a href="Kornshell" title="Kornshell">Kornshell</a> und berücksichtigt die Eigenheiten der <a href="Unix-Shell#Die_Bourne-Shell" title="Unix-Shell">Bourne-Shell</a>. Heute genutzte Shells verwenden meistens eine an POSIX orientierte Syntax. Darüber hinaus haben die meisten heute genutzten Shells einen sogenannten POSIX-Modus, der dazu führt, dass die verwendete Shell die POSIX-Syntax verwendet und nicht ihre native Syntax.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p><p>Nachfolgend eine Liste von Unix-Shells, gegliedert nach Syntax-Angabe per <a href="Shebang" title="Shebang">Shebang</a>.
</p>
<ul><li><code>#!/bin/sh</code> (ursprünglich, vor POSIX)
<ul><li><a href="Thompson-Shell" title="Thompson-Shell">Thompson-Shell</a>, die ursprüngliche UNIX-Shell</li>
<li><a href="Unix-Shell#Die_Bourne-Shell" title="Unix-Shell">Bourne-Shell</a>, die ab UNIX V7 die Thompson-Shell als Standard-Shell ablöste</li></ul></li>
<li><code>#!/bin/sh</code> (nach Einführung von POSIX)
<ul><li><a href="Unix-Shell#Die_Almquist-Shell" title="Unix-Shell">Almquist-Shell</a> (ash)</li>
<li><a href="Unix-Shell#Die_Debian-Almquist-Shell" title="Unix-Shell">Debian-Almquist-Shell</a> (dash)</li>
<li><a href="Bash_(Shell)" title="Bash (Shell)">Bourne-Again-Shell</a>, kurz GNU Bash, im POSIX-Modus</li>
<li><a href="Unix-Shell#Die_C-Shell" title="Unix-Shell">C-Shell</a> (csh)</li>
<li><a href="Unix-Shell#Die_TENEX-C-Shell" title="Unix-Shell">TENEX-C-Shell</a> (tcsh), konform zu POSIX.1:2008</li>
<li><a href="Kornshell" title="Kornshell">KornShell</a> (ksh) und <a href="Unix-Shell#Die_Public-Domain-Korn-Shell" title="Unix-Shell">Public-Domain-Korn-Shell</a> (pdksh), beide konform zu POSIX.2</li>
<li><a href="Z-Shell" class="mw-redirect" title="Z-Shell">Z-Shell</a> (zsh) im POSIX-Modus</li></ul></li>
<li><code>#!/bin/bash</code> (heute wahrscheinlich meist-eingesetzte Shell)
<ul><li>GNU Bash (bash, Bourne-Again-Shell); bewusst nicht POSIX-konform, hat aber einen konformen Modus</li>
<li>Z-Shell (zsh), versteht auch die Bash-Syntax</li></ul></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Aufbau">Aufbau</h2></div>
<p>In der ersten Zeile eines Shellskripts – auch <a href="Header" title="Header">Header</a> genannt – wird festgelegt, welcher Interpreter das Skript abarbeiten soll. Ein Shellskript beginnt daher mit dem sogenannten <a href="Shebang" title="Shebang">Shebang</a>, <code>#!</code>, gefolgt von der Pfadangabe zur Shell, die das Skript interpretieren soll.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> Wird diese Zeile weggelassen, so wird das Skript von jener Shell interpretiert, die auch neu erstellten Benutzerkonten standardmäßig zugewiesen wird. Welche das konkret ist, hängt vom verwendeten System und dessen Voreinstellung ab. Auch historische Shellskripte verwenden keinen Shebang, da es erst nach der Einführung von UNIX V7 alternative Shells gab.
</p><p>Das folgende Beispiel zeigt ein einfaches Shellskript in <a href="POSIX" title="POSIX">POSIX</a>-Syntax mit einer <code>for</code>-Schleife (<span lang="en">loop</span>). Die Anzahl der Durchläufe wird durch die Anzahl an Werten bestimmt; hier drei: <code>'Alfa Romeo'</code>, <code>'Bentley'</code>, <code>'Citroën'</code>. Zum besseren Verständnis sind alle Werte hier in Anführungszeichen gesetzt, dies ist aber nur bei <code>'Alfa Romeo'</code> notwendig, da darin ein Leerzeichen vorkommt. Ohne die Anführungszeichen würden dabei zwei Werte interpretiert werden: <samp>Alfa</samp> und <samp>Romeo</samp>. Zu beachten ist, dass die Anführungszeichen nicht Teil des Wertes sind.
</p><p>Bei jedem Durchlauf wird die Variable <code>i</code> neu gefüllt und ihr Inhalt dann in die Standardausgabe geschrieben (<samp>stdout</samp>, siehe <a href="Standard-Datenstr%C3%B6me" title="Standard-Datenströme">Standard-Datenströme</a>). Beim ersten Durchlauf wird die Variable mit <samp>Alfa Romeo</samp> gefüllt, beim zweiten mit <samp>Bentley</samp>, beim dritten mit <samp>Citroën</samp>. Dann endet die Schleife, da es keinen weiteren Wert gibt.
</p>
<div class="mw-highlight mw-highlight-lang-sh mw-content-ltr" dir="ltr"><pre><span></span><span class="ch">#!/bin/sh</span>
<span class="k">for</span><span class="w"> </span>i<span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="s1">'Alfa Romeo'</span><span class="w"> </span><span class="s1">'Bentley'</span><span class="w"> </span><span class="s1">'Citroën'</span><span class="p">;</span><span class="w"> </span><span class="k">do</span>
<span class="w"> </span><span class="nb">echo</span><span class="w"> </span><span class="nv">$i</span>
<span class="k">done</span>
</pre></div>
<p>Das Auslesen der Variable <code>i</code> erfolgt, indem ein Dollarzeichen davor geschrieben wird: <code>$i</code>.
</p><p>Da das Programm <a href="Echo_(Informatik)" title="Echo (Informatik)">echo</a> schlicht alles ausgibt, was dahinter geschrieben steht (abgesehen von Kommentaren), ist es an dieser Stelle nicht nötig, die Variable in doppelte Anführungszeichen zu setzen. Soll der Wert der Variable aber anderweitig verwendet werden, müssen doppelte Anführungszeichen verwendet werden (<code>"$i"</code>), damit aus Werten wie <samp>Alfa Romeo</samp> nicht doch noch mehrere Werte werden. Würden dann einfache Anführungszeichen verwendet werden (<code>'$i'</code>), würde nicht der Inhalt der Variable ausgegeben, sondern die Zeichenkette <samp>$i</samp> unverändert als solche.
</p>
<div class="mw-heading mw-heading2"><h2 id="Besonderheiten">Besonderheiten</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Operatoren,_Funktionen_und_Leerzeichen"><span id="Operatoren.2C_Funktionen_und_Leerzeichen"></span>Operatoren, Funktionen und Leerzeichen</h3></div>
<p>Eine Besonderheit, im Gegensatz zu anderen Programmiersprachen, ist die zwingende Verwendung von <a href="Leerzeichen" title="Leerzeichen">Leerzeichen</a> beim Aufruf von Operatoren und Funktionen.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</p><p><a href="Vergleichsoperator" title="Vergleichsoperator">Vergleichsoperatoren</a> des folgenden Beispiels:
<code>==</code>, <code><</code>, <code>></code>, <code><=</code>, <code>>=</code>, <code>!</code>
</p>
<div class="mw-highlight mw-highlight-lang-bash mw-content-ltr" dir="ltr"><pre><span></span><span class="k">if</span><span class="w"> </span><span class="o">((</span><span class="w"> </span><span class="nv">1</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="m">5</span><span class="w"> </span><span class="o">))</span><span class="p">;</span><span class="w"> </span><span class="k">then</span>
<span class="w"> </span><span class="nb">echo</span><span class="w"> </span><span class="s2">"1 und 5 sind gleich"</span>
<span class="k">else</span>
<span class="w"> </span><span class="nb">echo</span><span class="w"> </span><span class="s2">"1 und 5 sind nicht gleich"</span>
<span class="k">fi</span>
</pre></div>
<div class="mw-heading mw-heading2"><h2 id="Ausführen_eines_Shellskripts"><span id="Ausf.C3.BChren_eines_Shellskripts"></span>Ausführen eines Shellskripts</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Aufruf_in_der_Unix-Shell">Aufruf in der Unix-Shell</h3></div>
<p>Standardmäßig sind neu erstellte Dateien unter Unix nicht ausführbar. Um ein Shellskript ausführen zu können, muss es über die <a href="Zugriffsrecht" title="Zugriffsrecht">Zugriffsrechte</a> auf „ausführbar“ gesetzt werden. Dies geschieht durch das Programm <a href="Chmod" title="Chmod">chmod</a> mit folgendem (oder ähnlichem) Befehl:
</p>
<div class="mw-highlight mw-highlight-lang-bash mw-content-ltr" dir="ltr"><pre><span></span>chmod<span class="w"> </span>+x<span class="w"> </span>script.sh
</pre></div>
<p>Soll das Shellskript von einem beliebigen <a href="Verzeichnisstruktur" title="Verzeichnisstruktur">Pfad</a> aus ausgeführt werden, muss der komplette Pfad zum Shellskript angegeben werden.
</p><p>Beispiel: Das Shellskript /usr/local/bin/script.sh soll ausgeführt werden. Es muss folgender Befehl eingegeben werden:
</p>
<div class="mw-highlight mw-highlight-lang-bash mw-content-ltr" dir="ltr"><pre><span></span>/usr/local/bin/script.sh
</pre></div>
<p>Falls das Shellskript im aktuellen <a href="Arbeitsverzeichnis" title="Arbeitsverzeichnis">Arbeitsverzeichnis</a> (englisch „working directory“) gespeichert ist und dort ausgeführt werden soll, geschieht dies durch Voranstellen des aktuellen Pfads <code>./</code>:
</p>
<div class="mw-highlight mw-highlight-lang-bash mw-content-ltr" dir="ltr"><pre><span></span>./script.sh
</pre></div>
<div class="mw-heading mw-heading3"><h3 id="Ausführungsort"><span id="Ausf.C3.BChrungsort"></span>Ausführungsort</h3></div>
<p>Das Arbeitsverzeichnis des Shellskripts ist der <a href="Verzeichnisstruktur" title="Verzeichnisstruktur">Pfad</a>, von dem aus es aufgerufen wird, also nicht der Ort, wo es sich selbst befindet.
</p>
<div class="mw-heading mw-heading2"><h2 id="Dateinamenerweiterung">Dateinamenerweiterung</h2></div>
<p>Eine Dateinamenerweiterung für Shellskript-Dateien ist gänzlich unnötig. Sie wird ausschließlich hinzugefügt, um einem Benutzer grob Informationen über den Inhalt der Datei zu geben oder um sie innerhalb einer Desktop-Umgebung einem Programm zum Bearbeiten per Doppelklick zuzuweisen – i. d. Regel einem <a href="Texteditor" title="Texteditor">Texteditor</a> oder einer <a href="Integrierte_Entwicklungsumgebung" title="Integrierte Entwicklungsumgebung">integrierten Entwicklungsumgebung</a>.
</p><p>Die Erweiterung kann beispielsweise allgemein <samp>.sh</samp> lauten. Spezieller sind Erweiterungen wie <samp>.bash</samp> oder <samp>.zsh</samp>. Texteditoren und ähnlichen dient die Erweiterung zum Anwenden passender <a href="Syntaxhervorhebung" title="Syntaxhervorhebung">Syntaxhervorhebung</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Inhaltstyp">Inhaltstyp</h2></div>
<p>Der Inhaltstyp (Content Type oder <a href="Internet_Media_Type" title="Internet Media Type">MIME-Type</a>) kann – abhängig vom System – wie folgt lauten:
</p>
<ul><li>text/x-shellscript</li>
<li>text/plain</li>
<li>application/x-shellscript</li>
<li>application/x-sh<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li>Brian W. Kernighan: <i>The UNIX Programming Environment</i>. Prentice Hall, 1984, ISBN 0-13-937699-2</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><i><a href="https://de.wikibooks.org/wiki/en:Bourne_Shell_Scripting" class="extiw external" title="b:en:Bourne Shell Scripting">Bourne Shell Scripting</a></i>. <a href="Wikibooks" title="Wikibooks">Wikibooks</a> (englisch)</li>
<li><i><a href="https://de.wikibooks.org/wiki/en:Bash_Shell_Scripting" class="extiw external" title="b:en:Bash Shell Scripting">Bash Shell Scripting</a></i>. <a href="Wikibooks" title="Wikibooks">Wikibooks</a> (englisch)</li>
<li><i><a href="https://de.wikibooks.org/wiki/en:C_Shell_Scripting" class="extiw external" title="b:en:C Shell Scripting">C Shell Scripting</a></i>. <a href="Wikibooks" title="Wikibooks">Wikibooks</a> (englisch)</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-DebianWiki-ShellScript-1"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-DebianWiki-ShellScript_1-0">a</a></sup> <sup><a href="#cite_ref-DebianWiki-ShellScript_1-1">b</a></sup></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://wiki.debian.org/ShellScript"><i>ShellScript.</i></a> In: <i>Debian Wiki.</i><span class="Abrufdatum"> Abgerufen am 26. März 2021</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3AShellskript&rft.title=ShellScript&rft.description=ShellScript&rft.identifier=https%3A%2F%2Fwiki.debian.org%2FShellScript&rft.language=en"> </span></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text">Brian W. Kernighan: <i>The UNIX Programming Environment</i>. Prentice Hall, 1984, ISBN 0-13-937699-2, Kapitel 3: <i>Using the Shell</i>, S. 94.</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text">Chantal Lebrument, Fabien Soyez: <cite class="lang" lang="en" dir="auto" style="font-style:italic">The Inventions of Louis Pouzin: One of the Fathers of the Internet</cite>. Springer Nature, 2019, ISBN 978-3-03034836-6, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em"> </span>24</span> (englisch, <a rel="nofollow" class="external text" href="https://books.google.de/books?id=F7nEDwAAQBAJ&pg=PA24&q=RUNCOM#v=onepage">eingeschränkte Vorschau</a> in der Google-Buchsuche): <span class="lang" lang="en" dir="auto">“At the beginning of 1965, he developed the RUNCOM program, an “interpreter” that makes it possible to execute a set of commands contained in a file, and makes parameter substitution possible.”</span><span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rfr_id=info:sid/de.wikipedia.org:Shellskript&rft.au=Chantal+Lebrument%2C+Fabien+Soyez&rft.btitle=The+Inventions+of+Louis+Pouzin%3A+One+of+the+Fathers+of+the+Internet&rft.date=2019-12-07&rft.genre=book&rft.isbn=9783030348366&rft.pages=24&rft.pub=Springer+Nature" style="display:none"> </span></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.itworld.com/article/2817193/unix-tip--use-your-unix-scripting-skills-to-write-a-batch-file.html">itworld.com</a></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://www.gnu.org/software/bash/manual/html_node/Bash-POSIX-Mode.html"><i>Bash POSIX Mode.</i></a> In: <i>Bash Reference Manual.</i><span class="Abrufdatum"> Abgerufen am 26. März 2021</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3AShellskript&rft.title=Bash+POSIX+Mode&rft.description=Bash+POSIX+Mode&rft.identifier=https%3A%2F%2Fwww.gnu.org%2Fsoftware%2Fbash%2Fmanual%2Fhtml_node%2FBash-POSIX-Mode.html"> </span></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><a href="#cite_ref-6">↑</a></span> <span class="reference-text"><i><a href="https://de.wikibooks.org/wiki/en:Bash_Shell_Scripting" class="extiw external" title="b:en:Bash Shell Scripting">Bash Shell Scripting</a></i>. <a href="Wikibooks" title="Wikibooks">Wikibooks</a> (englisch)</span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><a href="#cite_ref-7">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://opensource.com/article/19/10/programming-bash-logical-operators-shell-expansions">opensource.com</a></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><a href="#cite_ref-8">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://www.php.net/manual/de/function.finfo-buffer.php"><i>Funktionsreferenz – finfo_buffer.</i></a> In: <i>PHP-Handbuch.</i><span class="Abrufdatum"> Abgerufen am 26. März 2021</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3AShellskript&rft.title=Funktionsreferenz+%E2%80%93+finfo_buffer&rft.description=Funktionsreferenz+%E2%80%93+finfo_buffer&rft.identifier=https%3A%2F%2Fwww.php.net%2Fmanual%2Fde%2Ffunction.finfo-buffer.php"> </span></span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2022-11-10" href="https://de.wikipedia.org/wiki/?title=Shellskript&oldid=227847013">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>